home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #14
/
Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO
/
pcboard
/
nodesrch.zip
/
NODESRCH.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1996-02-03
|
6KB
|
448 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
Declare Function FUNCTION001() String
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
;------------------------------------------------------------------------------
PROC006()
INTEGER001 = DNext()
STRING001 = " "
Cls
PROC003()
While (Upper(STRING001) <> "Q") Do
STRING001 = FUNCTION001()
Select Case (STRING001)
Case "r", "R"
Cls
DCloseAll
If (Exist(PPEPath() + "nodelist.dbf")) Then
DOpen INTEGER001, PPEPath() + "nodelist", 0
If (DErr(INTEGER001)) Goto LABEL001
PrintLn
PrintLn "File Opened"
PrintLn "creating index..."
PROC001()
Goto LABEL002
:LABEL001
PrintLn
PrintLn "Error opening file"
:LABEL002
Wait
Else
PrintLn
PrintLn "File does not exist"
Wait
Endif
Case "s", "S"
Cls
DCloseAll
If (Exist(PPEPath() + "nodelist.dbf")) Then
DOpen INTEGER001, PPEPath() + "nodelist", 0
If (DErr(INTEGER001)) Goto LABEL003
PrintLn
PrintLn "File Opened"
Goto LABEL004
:LABEL003
PrintLn
PrintLn "Error opening file"
:LABEL004
If (Exist(PPEPath() + "nodesrch.ndx")) Then
DnOpen INTEGER001, PPEPath() + "nodesrch.ndx"
DTag INTEGER001, "nodesrch"
Endif
Else
PrintLn
PrintLn "File does not exist"
Wait
Endif
PROC002()
Case "q", "Q"
End
End Select
Cls
PROC003()
EndWhile
End
;------------------------------------------------------------------------------
Procedure PROC006()
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
If (Exist(PPEPath() + "NODESRCH.CFG")) Then
FOpen 1, PPEPath() + "NODESRCH.CFG", 2, 0 + 0
If (Ferr(1)) Goto LABEL005
PrintLn
PrintLn ".CFG File Found!"
Goto LABEL006
:LABEL005
PrintLn
PrintLn " Nodesrch.cfg Not Found"
PrintLn " Please see the DOCs"
End
Endif
:LABEL006
FGet 1, STRING006
FGet 1, STRING008
FClose 1
STRING009 = Strip(STRING006, " ")
For INTEGER004 = 1 To Len(STRING009)
STRING007 = Mid(STRING009, INTEGER004, 1)
INTEGER002 = Asc(STRING007)
INTEGER003 = INTEGER003 + INTEGER002
Next
STRING005 = (INTEGER003 * Len(STRING009)) * 13
PrintLn "regnum = ", STRING005
PrintLn "rkey = ", STRING008
If (STRING008 == STRING005) Then
PrintLn
PrintLn
PrintLn " This PPE is Registered to ", STRING006
Else
PrintLn
PrintLn " This PPE is unregistered!!!!"
Endif
Wait
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
If (Exist(PPEPath() + "nodesrch.ndx")) Delete PPEPath() + "nodesrch.ndx"
DnCreate INTEGER001, PPEPath() + "nodesrch.ndx", "Sysop_Name"
If (DErr(INTEGER001)) Then
PrintLn "Error creating index."
Wait
Return
Endif
DTag INTEGER001, "nodesrch"
If (DErr(INTEGER001)) Goto LABEL007
PrintLn "Index created."
PrintLn "The key field is ", DName(INTEGER001, 6)
Goto LABEL008
:LABEL007
PrintLn "Error creating index..."
:LABEL008
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
String STRING010
String STRING011
String STRING012
String STRING013
Integer INTEGER005
PrintLn "@X02Search on @X0D", DName(INTEGER001, 6), " @X02field,"
PrintLn
Input "@X05Enter the name to search for: _", STRING010
PrintLn
PrintLn "@X02Searching for@X04 ", Mixed(STRING010), "@X02 in field ", DName(INTEGER001, 6), " ..."
DSeek INTEGER001, Mixed(STRING010)
If (DChkStat(INTEGER001) == 0) Then
PrintLn "@X09Record Number @X0F", DRecNo(INTEGER001), "@X07"
INTEGER005 = 6
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "@X0F"
INTEGER005 = 1
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print " @X0A", Trim(STRING011, " "), ":", "@X0F"
INTEGER005 = 2
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "/", "@X0F"
INTEGER005 = 3
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "@X0F"
INTEGER005 = 4
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print " @X0A", Trim(STRING011, " "), "@X0F"
PrintLn
PrintLn
Input "Is this the right one? Y/N/Q _", STRING012
PrintLn
Select Case (Upper(STRING012))
Case "Y"
Cls
PrintLn
PrintLn "Ok Thanks ", U_Name()
PROC004()
Case "N"
PrintLn
PrintLn "OK we will try again"
Gosub LABEL009
Case "Q"
PrintLn
PrintLn "Thank you for using Node Search"
End Select
Else
PrintLn
PrintLn STRING010, " not found!"
Wait
Endif
:LABEL009
STRING013 = DGet(INTEGER001, "Sysop_Name")
STRING010 = STRING013
While (STRING013 == STRING010) Do
DSkip INTEGER001, 1
STRING013 = DGet(INTEGER001, "Sysop_Name")
PrintLn "@X09Record Number @X0F", DRecNo(INTEGER001), "@X07"
INTEGER005 = 6
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "@X0F"
INTEGER005 = 1
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print " @X0A", Trim(STRING011, " "), ":", "@X0F"
INTEGER005 = 2
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "/", "@X0F"
INTEGER005 = 3
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print "@X0A", Trim(STRING011, " "), "@X0F"
INTEGER005 = 4
DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
Print " @X0A", Trim(STRING011, " "), "@X0F"
PrintLn
PrintLn
Input "Is this the right one? Y/N _", STRING002
If (Upper(STRING002) == "Y") Then
PROC004()
Return
Goto LABEL010
Endif
:LABEL010
PrintLn
EndWhile
Return
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
Integer INTEGER006
String STRING014
String STRING015
String STRING016
String STRING017
Cls
PrintLn "@X09Record Number @X0F", DRecNo(INTEGER001), "@X07"
INTEGER006 = 6
DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING003
Print "@X0A", Trim(STRING003, " "), "@", "@X0F"
STRING014 = Trim(STRING003, " ") + "@"
INTEGER006 = 1
DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING003
Print "@X0A", Trim(STRING003, " "), ":", "@X0F"
STRING015 = Trim(STRING003, " ") + ":"
INTEGER006 = 2
DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING003
Print "@X0A", Trim(STRING003, " "), "/", "@X0F"
STRING016 = Trim(STRING003, " ") + "/"
INTEGER006 = 3
DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING003
Print "@X0A", Trim(STRING003, " "), "@X0F"
STRING017 = Trim(STRING003, " ")
STRING004 = STRING014 + STRING015 + STRING016 + STRING017
PROC005()
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
Cls
KbdStuff STRING004
Command 0, "E"
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
PrintLn
PrintLn
PrintLn
PrintLn
PrintLn
PrintLn " @X0A┌─────────────────────────────────────────────┐ "
PrintLn " @X0A │ │ "
PrintLn " @X0A │ @X04NODE SEARCH v 1.O@X0A │ "
PrintLn " @X0A │ │ "
PrintLn " @X0A │ @X0ER@X09ecompile the index.@X0A │ "
PrintLn " @X0A │ @X0ES@X09earch the nodelist.@X0A │ "
PrintLn " @X0A │ │ "
PrintLn " @X0A │ @X0EQ@X09uit and return to the BBS.@X0A │ "
PrintLn " @X0A │ │ "
PrintLn " @X0A │ @X0ER@X0F/@X0ES@X0F/@X0EQ @X8F?@X0A │ "
PrintLn " @X0A └─────────────────────────────────────────────┘ "
PrintLn
PrintLn
PrintLn
PrintLn
PrintLn "@X0F"
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001() String
While (FUNCTION001 == "") Do
FUNCTION001 = Inkey()
EndWhile
EndFunc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 7 Cls
; 6 Wait
; 40 Goto
; 33 Let
; 14 Print
; 71 PrintLn
; 23 If
; 3 Input
; 1 FOpen
; 1 FClose
; 2 FGet
; 1 Delete
; 1 Gosub
; 3 Return
; 1 KbdStuff
; 6 EndProc
; 1 EndFunc
; 2 DOpen
; 2 DCloseAll
; 1 DnCreate
; 1 DnOpen
; 1 DSkip
; 2 DTag
; 1 DSeek
; 14 DGet
; 1 Command
;
;
; ■ Functions used :
;
; 2 *
; 20 +
; 14 ==
; 1 <>
; 1 <
; 1 <=
; 2 >=
; 22 !
; 2 &&
; 4 ||
; 3 Len(
; 5 Upper()
; 1 Mid()
; 1 Ferr()
; 1 Asc()
; 18 Trim()
; 1 U_Name()
; 1 Strip()
; 1 Inkey()
; 11 PPEPath()
; 5 Exist()
; 2 Mixed()
; 4 DErr()
; 17 DName()
; 3 DRecNo()
; 1 DNext()
; 2 DGet()
; 1 DChkStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 3 While/EndWhile
; 8 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------